iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
Security

資安這條路─系統化學習滲透測試系列 第 14

Day14 主動情蒐-nmap 與 Wireshark 的實驗內容

  • 分享至 

  • xImage
  •  

利用 Wireshark 觀察 nmap 傳輸封包,點選左下角【Menu】輸入【wireshark】點選鯊魚 ICON 開啟軟體。

看到 Wireshark 的介面,有許多介面卡可以選擇,我們選擇【any】表示聽任何介面卡。

不進行端口掃描
nmap -sn 172.28.128.3

第一個要觀察的指令與參數是 -sn 代表無進行掃 port,只針對主機進行掃描,確認主機是否活著,可以發現有 TCP SYN 的封包,還有 TCP ACK 的封包。

TCP 三方交握,確認使用者端跟接收端建立連線的過程,

  1. 發送 SYN
  2. 回傳 SYN-ACK
  3. 發送 ACK
  4. 建立連線
  5. 直到發送 FIN 或 RST 才關閉連線

TCP 掃描
nmap -sT [target]

可以看到 Wireshark 攔到的封包內容,如下:

  1. 發送 SYN
  2. 回傳 SYN-ACK
  3. 發送 ACK
  4. 發送 RST-ACK 結束連線

TCP SYN 掃描
不會完成完整的三方交握,可以躲避下一些防禦偵測系統。
nmap -sS [target]

因為執行 SYN 掃描需要用到底層的 raw 封包,因此需以最高權限執行。

sudo nmap -sS [target]

可以看到 Wireshark 攔到的封包內容,如下:

  1. 發送 SYN
  2. 回傳 SYN-ACK
  3. 發送 RST 結束連線

UDP 掃描
nmap -sU [target]

常見在 UDP 執行的服務,針對 UDP 的服務也是常被駭客攻擊,因此我們可以只針對 UDP 的服務進行掃描:

服務名稱 端口
DNS 53
NTP 123
SNMP 161/162

可以看到 Wireshark 攔到的封包內容,發送大量的 UDP 封包,而 UDP 掃描會比較緩慢。

服務掃描
nmap -sV [target]
針對 port、狀態與服務版本進行掃描,尋找是否有已知漏洞

查詢結果可以發現可能是一台 Ubuntu 的系統,且 SSH 服務使用 OpenSSH 6.6.1p1,在 80 port 上埋還有網站伺服器 Apache 2.4.7。

作業系統掃描
sudo nmap -sV -O [target]

需要利用 sudo 執行,發現目標作業系統可能是 Linux 3.X 或 4.X。

主動掃描
sudo nmap -A [target]
針對目標進行主動掃描 A 表示 Aggressive,預設執行作業系統掃描、版本掃描與 traceroute。

版本掃描

作業系統掃描

針對主動掃描回傳 Host script 結果與 traceroute

該掃描會產生大量的網路流量,可能會被目標主機或防火牆擋下,導致掃描停不下來。

若不是使用 sudo 將不會執行作業系統檢測

※ 想減少掃描時間可以參考

  1. 使用 -sn 跳過端口掃描
  2. 限制掃描的端口數 -F 快速掃描(100 port)、--top-ports 常用端口(自己指定數量)、-p 自己指定掃描端口
  3. 跳過激烈的掃描選項 -sC-sV-O--traceroute-A
  4. 關閉 DNS 解析

掃描指定範圍
sudo nmap -p 1-100 [target]

掃描特殊範圍
sudo nmap -p 137-139,445 [target]

指定服務端口掃描
sudo nmap -p netbios*,microsoft-ds [target]

指定 TCP 與 UDP 的掃瞄範圍
sudo nmap -sU -sS -p U:137-139,T:137-139,445 [target]

一定要大寫表示「U」和「T」其代表 UDP 和 TCP

指定 TCP 與 UDP + 指定服務 的掃瞄範圍
sudo nmap -sU -sS -p netbios*,microsoft-ds [target]

複習

參數 說明
-sS TCP
-sU UDP
-p- 所有的 port

NSE 腳本更新
sudo apt-get update
以管理者的身分執行 apt-get 進行更新套件內容

sudo apt-get install nmap
以管理者的身分執行 apt-get 進行安裝 nmap,若已經安裝過,則會進行更新。

sudo nmap --script-updatedb
以管理者的身分執行 nmap 進行 NSE 的更新

NSE 腳本路徑
ls /usr/share/nmap/scripts
列出 /usr/share/nmap/scripts 路徑底下的檔案列表

ls -l /usr/share/nmap/scripts/http*
列出 /usr/share/nmap/scripts 路徑底下的開頭為 http 的檔案列表

NSE 查看說明
nmap --script-help http-robots.txt
該腳本針對 http-robots.txt 進行說明,
可以看到這個腳本的分類是 default, discovery and safe

利用指定 NSE 進行掃描
nmap --script=[scriptname] [target]

範例:nmap --script=http-robots.txt [target]


上一篇
Day13 主動情蒐-利用 tcpdump 觀察 Netdiscover && Ping 封包
下一篇
Day15 第十五天才介紹學習路徑是否搞錯什麼
系列文
資安這條路─系統化學習滲透測試37
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言